#ifndef PATHUTIL_H
#define PATHUTIL_H

#include <QString>
#include <QDir>

class PathUtil
{
public:
    // 执行程序所在目录
    static QString exeDir();

    static QString desktopDir();
    static QString picturesDir();
    static QString genericDataDir();
    static QString appDataDir();
    static QString appDataSubDir(const QString &subDir);

    // 临时目录
    static QString tempDir();

    // 日志目录
    static QString logDir();
    static QString imageDir();

    // 配置文件
    static QString config();
    static QString appConfig();
    static QString database();

    // 创建目录
    static bool mkDir(const QString &dirPath);

    // 路径拼接
    static QString combine(const QString &dirPath, const QString &fileName);

    // 获取文件名，包含扩展名
    static QString getFileName(const QString &path);

    // 获取目录名
    static QString getDirectoryName(const QString &path);

    // 获取扩展名
    static QString getExtension(const QString &path);

    // 获取文件名，不包含扩展名
    static QString getFileNameWithoutExtension(const QString &path);
};

#endif // PATHUTIL_H
